/**
 * @Description: Day10
 * @Author Stark
 * @Date 2022/3/11 16:07
 **/
public class Day10 {
    //1.给你一个数组，将数组中的元素向右轮转 k 个位置，其中 k 是非负数。
    public static void rotate(int[] nums, int k) {
        if(k % nums.length == 0){
            return;
        }else{
            k %= nums.length;
        }
        reverse(nums,0,nums.length - k - 1);
        reverse(nums,nums.length - k, nums.length - 1);
        reverse(nums,0, nums.length - 1);
    }

    private static void reverse(int[] nums, int left, int right) {
        while(left < right){
            int tmp = nums[left];
            nums[left] = nums[right];
            nums[right] = tmp;
            left++;
            right--;
        }
    }

    //2.给定一个数组 nums 和一个值 val ，你需要原地移除所有数值等于 val 的元素
    public int removeElement(int[] nums, int val) {
        if(nums == null || nums.length == 0)
            return 0;
        int i = 0;
        int ret = 0;
        for(int j = 0;j < nums.length;j++){
            if(nums[j] != val){
                nums[i++] = nums[j];
                ret++;
            }
        }
        return ret;
    }
    public static void main(String[] args) {
        int x = 20;
        int y = 5;
        System.out.println(x+y +""+(x+y)+y);
    }
}
